In the present information technology (IT) field, Web technology is widely applied because of its simplification, lightweight and based on open standards. More and more software vendors are dedicated to developing their applications based on Web technology. Compared with traditional desktop applications, Web applications have plenty of advantages, for example, Web applications do not require software installation and maintenance, which makes them easy to be distributed.
However, Web applications also have their limitations. A major problem thereof is that their HTML based user interface can't support advanced user interaction. Due to this problem, desktop applications still need to be used in many cases. In some cases, an end user needs to switch between a Web application and a desktop application to finish his work. For example, when a user is editing his BLOG, if he wants to add some photos or pictures, then firstly, he needs to find some required photos or pictures, and then he possibly needs to edit them. To do so, he must install some photo or picture editing software (i.e., a desktop application). After that, he needs to upload the edited photos or pictures to a Web application. However, such user experience is not so good because of some of the following reasons: (1) the integrity of the user's experience is broken; (2) the user must switch between different consoles; (3) Web application data and desktop application data can't be shared; (4) the user must install the required desktop application and maintain it periodically.
To enhance Web application capability, some technologies such as Java script, AJAX, ActiveX and Applet are widely used. For a Java script/AJAX approach, its idea is to write a Web application with the help of Java script, which is a script language providing interactive programming features. However, the use of Java script also has great limitations. For example, the first limitation is that Java script is executed by a translator and has poor performance; the second limitation is that some programming logic can't be implemented using Java script. For an ActiveX/Applet approach, it is not adopted very widely because of its poor compatibility. On the other hand, the user needs to download different plug-ins for different applications and the file size of some plug-ins may be so big that it needs a lot of time to be downloaded.
In view of the above situations, a technology is thus urgently required that can overcome defects in the prior art and converge a Web application and a desktop application so as to use the desktop application to process files of the Web application.